//-------------------------------------------------------------------
//	Copyright (c) 2010-2012 Zhirnov Andrey
//	This file is part of the "UXGEN" project.
//	See copyright notice in "Engine.h".
//-------------------------------------------------------------------

#ifndef _UX_CL_SAMPLER_H
#define _UX_CL_SAMPLER_H

#include "CLDevice.h"

namespace Engine
{
namespace CLSystems
{

	//
	// CL Sampler
	//

	class _EXPORT_ CLSampler : public CLBaseObject
	{
	protected:
		cl_sampler	_pSampler;
		
	protected:
		virtual void _RetainRef()	const;
		virtual void _ReleaseRef()	const;
		virtual uint _GetRefCount()	const;
		virtual void _Destroy();

	public:
		CLSampler();
		~CLSampler();

		bool Create(cl_sampler_flags::type eFlags);
		virtual void Destroy();
	};

//-------------------------------------------------------------------

}	// CLSystems
}	// Engine

#endif	// _UX_CL_SAMPLER_H